package com.evil.application.pojo.dto.order.node;

import com.evil.common.account.dto.user.UserEnterpriseBaseDTO;
import lombok.Data;

import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;

/**
 * 修改订单节点
 *
 * @author liyang
 * @date 2022-08-08 00:00
 */
@Data
public class ModifyOrderNodeDataReqDTO {

    /**
     * 订单id
     */
    @NotNull(message = "订单id不能为空")
    private Long orderId;

    /**
     * 是否完全覆盖
     */
    @NotNull(message = "更新类型不能为空")
    private Boolean isCover;

    /**
     * 是否只更新节点处理人
     */
    @NotNull(message = "更新类型不能为空")
    private Boolean isOnlyModifyHandlers;

    /**
     * 工作流处理类型
     */
    @NotNull(message = "工作流处理类型参数不能为空")
    private Integer handleType;

    /**
     * 父节点
     */
    private Long parentNodeId;

    /**
     * 节点信息
     */
    @NotEmpty(message = "节点信息不能为空")
    private Map<Long, List<UserEnterpriseBaseDTO>> nodeHandlersMap;

    public ModifyOrderNodeDataReqDTO() {
        this.isCover = false;
        this.isOnlyModifyHandlers = false;
    }
}
